/*
	This file is part of PropExtractor.

	AliceDecrypt is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	AliceDecrypt is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with PropExtractor. If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef _PEINCLUDES_H_
#define _PEINCLUDES_H_

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ShlObj.h>
#include <windows.h>

#if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__)
#	include <fcntl.h>
#	include <io.h>
#	define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY)
#else
#	define SET_BINARY_MODE(file)
#endif

#define CHUNK 16384

#include "zlib.h"

#ifdef _DEBUG
#	define ALICE_DEBUG(msg, ...)   printf("DEBUG: "msg"\n", ##__VA_ARGS__)
#else
#	define ALICE_DEBUG(msg, ...)
#endif
#define ALICE_PRINT(msg, ...)      printf(msg"\n", ##__VA_ARGS__)

namespace pe
{

	typedef unsigned char		byte;
	typedef unsigned short		word;
	typedef unsigned long		dword;

}; // namespace pe
	
#endif